import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Map;

//this parent class will be inherited by all of the operation classes we execute
public class Operation {
	// Parent fields
	protected Word[] register;
	protected Word[] memory;
	protected FileReader programIn;
	protected FileWriter programOut;

	public Operation(Word[] register, Word[] memory,
			FileReader programIn, FileWriter programOut) {
		this.register = register;
		this.memory = memory;
		this.programIn = programIn;
		this.programOut = programOut;
	}

    public int exec(int pc, Map<String, Word> traceTable) throws IOException {
        return -1; // Must be overwritten
    };
}
